package br.com.tiespec.model.Modelo;

import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.OneToMany;
import javax.persistence.Table;

@Entity
@Table(name="ti_plano")
public class Plano extends EntidadeGenerica {

	private static final long serialVersionUID = 1L;

	@Column(name="nome_plano")
	private String nomePlano;
	
	@Column(name="lim_projetos")
	private Integer limiteProjetos;
	
	@Column(name="lim_usuarios")
	private Integer limiteUsuarios;
	
	@Column(name="lim_desc_projeto")
	private Integer limiteDescricoesPorProjeto;
	
	@Column(name="imprime_projeto")
	private Boolean imprimirPorProjeto;
	
	@Column(name="valor_mensal")
	private Double valorMensal;

	@OneToMany(fetch=FetchType.LAZY, mappedBy="plano")
	private List<ConfigDescricaoEstendida> configuracoes;
	
	@Override
	public String toJson() {
		return null;
	}
	
	public String getNomePlano() {
		return nomePlano;
	}

	public void setNomePlano(String nomePlano) {
		this.nomePlano = nomePlano;
	}

	public Integer getLimiteProjetos() {
		return limiteProjetos;
	}

	public void setLimiteProjetos(Integer limiteProjetos) {
		this.limiteProjetos = limiteProjetos;
	}

	public Integer getLimiteUsuarios() {
		return limiteUsuarios;
	}

	public void setLimiteUsuarios(Integer limiteUsuarios) {
		this.limiteUsuarios = limiteUsuarios;
	}

	public Integer getLimiteDescricoesPorProjeto() {
		return limiteDescricoesPorProjeto;
	}

	public void setLimiteDescricoesPorProjeto(Integer limiteDescricoesPorProjeto) {
		this.limiteDescricoesPorProjeto = limiteDescricoesPorProjeto;
	}

	public Boolean getImprimirPorProjeto() {
		return imprimirPorProjeto;
	}

	public void setImprimirPorProjeto(Boolean imprimirPorProjeto) {
		this.imprimirPorProjeto = imprimirPorProjeto;
	}

	public Double getValorMensal() {
		return valorMensal;
	}

	public void setValorMensal(Double valorMensal) {
		this.valorMensal = valorMensal;
	}
	
	public List<ConfigDescricaoEstendida> getConfiguracoes() {
		return configuracoes;
	}
	
	public void setConfiguracoes(List<ConfigDescricaoEstendida> configuracoes) {
		this.configuracoes = configuracoes;
	}
}